#ifndef SOLVER_H
#define SOLVER_H

#include <iostream>
using std::cout;
using std::endl;
#include <string>
using std::string;
#include <vector>
using std::vector;
#include <map>
using std::map;
#include <algorithm>
using std::set_intersection;

#include "cache.h"
#include "cachesorter.h"

class Solver
{
public:
    Solver(const map<string, vector<cache> >& workingDataSet);

protected:

    // Our base data set we will base all the work on
    const map<string, vector<cache> >&  dataSet;

};

#endif // SOLVER_H
